package com.aoxin.mapper.course.systemCourse;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.aoxin.model.course.AloneCourse;

public interface AloneCourseDao {
    /**
     * 新增单独课程
     * @param aloneCourse
     * @return
     */
    Integer insertAloneCourse(AloneCourse aloneCourse);

    /**
     * 查询某个学校下的(全部课程或某个单独课程)
     *
     * @param aloneCourse
     * @return
     */
    List<AloneCourse> getAloneCourse(AloneCourse aloneCourse);

    /**
     * 修改某个学校下的课程包
     *
     * @param aloneCourse
     * @return
     */
    Integer updateAloneCourse(AloneCourse aloneCourse);

    /**
     * 同一个类型不能添加同一个课程名称
     * @param aloneCourse
     * @return
     */
    Integer  checkCourse(AloneCourse aloneCourse);
    /**
     *根据库包ID 查询课程
     * @param coursePageId
     * @return
     */
    List<AloneCourse>getAlonCourseToCoursePageId(Integer coursePageId);
    
    AloneCourse getCourses(Integer courseId);
    
    void updateStates(@Param("courseIds") List<Integer> courseIds, @Param("state") Integer state);
    
    /**
     * 更新所有学校中的课程数据
     * @param aloneCourse
     */
    void updateSchoolCourseAll(AloneCourse aloneCourse);
    
}
